package pe.edu.upc.dew.Grupo1.service;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import pe.edu.upc.dew.Grupo1.dao.SalaDao;
import pe.edu.upc.dew.Grupo1.dao.VentaDao;
import pe.edu.upc.dew.Grupo1.model.Sala;
import pe.edu.upc.dew.Grupo1.model.Venta;

public class VentaServiceImpl implements VentaService {
	private VentaDao ventaDao;
	private SalaDao salaDao;

	public void setVentaDao(VentaDao ventaDao) {
		this.ventaDao = ventaDao;
	}
	
	public void setSalaDao(SalaDao salaDao) {
		this.salaDao = salaDao;
	}
	
	public VentaServiceImpl() {
	}

	/* (non-Javadoc)
	 * @see pe.edu.upc.dew.Grupo1.service.VentaService#ValidarNroTicketsVender(int)
	 */
	@Override
	public boolean ValidarNroTicketsVender(Sala sala,int nroTickets)
	{
		Sala sala2 = salaDao.getSalaPorCodigo(sala.getCodigoSala());
		
		int nroCapacidad = sala2.getNumeroAsientos();
		
		return nroCapacidad <= nroTickets;
	}
	
	/* (non-Javadoc)
	 * @see pe.edu.upc.dew.Grupo1.service.VentaService#GetConteoVentas()
	 */
	@Override
	public int GetConteoVentas() {
		return ventaDao.getConteoVentas();
	}

	/* (non-Javadoc)
	 * @see pe.edu.upc.dew.Grupo1.service.VentaService#RegistrarVenta(pe.edu.upc.dew.Grupo1.model.Venta)
	 */
	@Override
	public void RegistrarVenta(Venta venta) {
		ventaDao.insert(venta);
	}

	/* (non-Javadoc)
	 * @see pe.edu.upc.dew.Grupo1.service.VentaService#GetventaPorCodigo(int)
	 */
	@Override
	public Venta GetventaPorCodigo(int codigo) {

		return ventaDao.getVentaPorCodigo(codigo);

	}

}